package com.library.util;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class DBUtil {
	//自动去 src目录下 找 c3p0-config.xml文件，并根据构造方法的参数
	//决定使用 哪一个配置
	private static ComboPooledDataSource ds = new ComboPooledDataSource("mysql");

	//由于使用 JdbcTemplate的时候 需要传递数据源。定义一个返回数据源的方法:
	public static DataSource getDataSource () {
		return ds;
	}
	//如果 仍然需要使用原始的Jdbc那么 工具类需要提供 获取连接和释放资源的方法
	public static Connection getConnection() {
		Connection con = null;
		try {
			con = ds.getConnection();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}
	
	public static void closeAll(ResultSet res,Statement ps,Connection con) {
		if(res != null) {
			try {
				res.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(ps != null) {
			try {
				ps.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(con != null) {
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
